<?php
include(TEMPLATEPATH ."/inc/payments/ngan_luong/NL_checkout.class.php");
function  check_submit_form_ngan_luong($transaction_info,$order_code,$price)
{
	$url_return=get_bloginfo('url').'success';
   	$nl = new NL_Checkout('https://www.nganluong.vn/checkout.php',get_option('secure_pass'),get_option('payment_secure_code'));
	$url = $nl->buildCheckoutUrl($url_return, get_option('email_receiver'),$transaction_info, $order_code, $price);
	echo "<script>document.location.href='$url';</script>";
	exit();
}

function update_rerurn_from_nganluong()
{
if(isset($_GET['secure_code']) && !empty($_GET['secure_code'])) #Nhận thông tin
{
	#Thông tin giao dịch
	$transaction_info = @$_GET['transaction_info'];
	#Mã sản phẩm, mã đơn hàng, giỏ hàng giao dịch
	$order_code = @$_GET['order_code'];
	#Tổng số tiền thanh toán
	$price = @$_GET['price'];
	#Mã giao dịch thanh toán tại nganluong.vn
	$payment_id = @$_GET['payment_id'];
	#Loại giao dịch tại nganluong.vn (1=thanh toán ngay, 2=thanh toán tạm giữ)
	$payment_type = @$_GET['payment_type'];
	#Thông tin chi tiết về lỗi trong quá trình thanh toán
	$error_text = @$_GET['error_text'];
	#Lấy mã kiểm tra tính hợp lệ của đầu vào
	$secure_code = @$_GET['secure_code'];
	#Xử lý đầu vào
   	$nl = new NL_Checkout('https://www.nganluong.vn/checkout.php',get_option('payment_merchant'),get_option('payment_secure_code'));
	$check = $nl->verifyPaymentUrl($transaction_info, $order_code, $price, $payment_id, $payment_type, $error_text, $secure_code);
	if($check === false)
	{
		#Tham số gửi về không hợp lệ, có sự can thiệp từ bên ngoài
		echo  '<div align=\"center\">Kết quả thanh toán không hợp lệ!</div>';
		return ;
	}
	else
	{
		if($error_text != '')
		{
			#Có lỗi trong quá trình thanh toán
			echo   '<div align=\"center\">Có lỗi: '.$error_text.'! Hãy thực hiện lại!</div>';
			return ;
		}
		else
		{
			#cap nhat order
			#update_status_payment($order_code);
			#Thanh toán thành công
			$run=update_status_payment($order_code);
			if($run)
			{
			  
				     echo '<div align="center" style="background: none repeat scroll 0 0 #ECDEBC;
		    border: 1px solid #DFD6D3;
		    line-height: 20px;
		    padding: 15px;margin-top:20px; width:570px;"><h2>Cám ơn quý khách đã đặt phòng, quá trình thanh toán đã được hoàn tất.Chúng tôi đã gửi thông tin thuê phòng đến email của bạn đăng kí!</h2></div>';
				
  	       	     	echo '<tr>  <td class="col-1">   
                    	
                            <p class="title">';
  	       	     echo 'Thông Tin Phiên Giao Dịch';
  	       	     	echo '</p>
                         </td>
                    </tr>';
  	       	    echo '<tr><td rowspan="3" class="box col-1">                            
                            	<p>- Loại giao dịch: Thanh Toán Trực Tuyến</p>
                                <p>- Cổng Thanh Toán: Bảo Kim</p>
                                <p>- Mã Giao Dịch: '.session_id().'</p>
                                <p>- Loại Phòng: '.$_GET['transaction_info:'].'</p>
                                <p>- Số Tiền Thanh Toán: '.$_GET['price'].'</p>
                                <p>- Loại Tiền Tệ: VND</p>
                        </td></tr>';
  	 
		                    	$orderid= $_GET['order_code'];
         	                    $user_id=get_userid_via_orderid($orderid);
         	                    $user_data=get_userdata($user_id);
         	                    $email=$user_data->user_email ;
         		                $s='Thông Tin Thuê Phòng';
								$m='<html body><h2>Thông Tin Thuê Phòng </h2><p><a target="blank" href="'.get_bloginfo('url').'/thong-tin-dat-phong?orderID='.$orderid .'&userID='. md5($user_id).'&option='.$user_id.'">Click Xem Thông Tin Thuê Phòng</a><p></body></html>';
								$headers = array(
					     	 	  'From: '.get_bloginfo('name').' <'.get_bloginfo('admin_email').'>',
					       			 "Content-Type: text/html"
					  			  );
					   			  $h = implode("\r\n",$headers) . "\r\n";
							  	  wp_mail($email, $s, $m,$h);
			
			         			return ;
		   }
			   else 
			   {
			 
				echo 'div align="center" style="background: none repeat scroll 0 0 #ECDEBC;
		    border: 1px solid #DFD6D3;
		    line-height: 20px;
		    padding: 15px;margin-top:20px; width:570px;"><h2>Có lỗi Xãy Ra Trong Quá Trình Cập Nhật Dữ Liệu!</h2></div>';
				
					return ;
		   }
		     
		}
	}
}
  
}


function get_checkout_form_ngan_luong()
{   
	
    ?>
   <form action="" method="post">
   <input type=image src="https://www.nganluong.vn/data/images/buttons/11.gif" />
   <?php wp_nonce_field('ngan_luong_checkout','action_ngan_luong_checkout');?>
   </form>

    <?php 
	
}

function  redirect_to_ngan_luong($transaction_info,$order_code,$price)
{
	   echo get_checkout_form_ngan_luong();
     if(wp_verify_nonce($_POST['action_ngan_luong_checkout'],'ngan_luong_checkout'))
     {
           check_submit_form_ngan_luong($transaction_info,$order_code,$price);
     }
}

function test_ngan_luong($product_name,$order_code,$price,$comments)
{
	$url_return=get_bloginfo('url').'/payment';
	$email_nl=get_option('email_receiver');
   	$querystring .='?receiver='.urlencode($email_nl).'&';
   	$querystring .='product_name='.urlencode($product_name).'&';
   	$querystring .='price='.urlencode($price) .'&';
	$querystring .='return_url='.urlencode($url_return).'&';
	$querystring .='order_code='.urlencode($order_code).'&';
	$querystring .='comments='.urlencode($comments);
	//$querystring .='transaction_info=thong tin giao dich';
	$url='http://sandbox.nganluong.vn/advance_payment.php'.$querystring;
	echo "<script>document.location.href='$url';</script>";
	exit();
}
/**
 * @param  $item_number			Mã Hóa Đơn
 * @param  $payment_amount		Số Tiền Hóa Đơn
 * @param	$currency			Loại Tiền Thanh Toán (VD:USD or VND)
 * @param  $payment_type        Loại Thanh Toán (Vd:Thanh Toán Trực Tuyến or Liên Hệ)
 * @param  $transaction_info	Thông Tin Hóa Đơn
 */
function  save_transaction_nl_to_data($item_number,$payment_amount,$currency,$payment_type,$transaction_info)
{
     global  $wpdb;
     $payment_table=$wpdb->prefix .'payments';
     $data=array(
    'id'=>0,
    'txnid'=>'',
    'sessionid'=>session_id(),
    'orderid'=>$item_number,
    'amount'=>$payment_amount,
    'status'=>'no',
    'currency'=>$currency,
    'payment_type'=>$payment_type,
    'transaction_infor'=>$transaction_info,
    'createdtime'=>time()+7*3600
    );
	$run =$wpdb->insert($payment_table,$data);
	if($run)
	{
	   return true;
	}
	return false;
}

function update_status_payment($orderid)
{
   global  $wpdb;
    $payment_table=$wpdb->print .'payments';
	$transaction_info = @$_GET['transaction_info'];
	$price = @$_GET['price'];
	$payment_id = @$_GET['payment_id'];
	//$payment_type = @$_GET['payment_type'];
   $run=$wpdb->query("update {$payment_table} set txnid='{$payment_id}',amount={$price},status='Yes',transaction_infor='{$transaction_info}' where orderid={$orderid}");
  
   if($run)
   {
      return TRUE; 
   }
   return false;
}



